1. Technical Field
The present invention relates to a semiconductor memory system, and more particularly, to a semiconductor memory system performing data error correction.
2. Discussion of Related Art
A flash memory, such as a flash EEPROM, is a non-volatile memory that can electrically store or erase data. The flash memory may include a NAND flash memory and a NOR flash memory. The NOR flash memory may include a simple interface using a static random access memory (SRAM) or read only memory (ROM). In the NAND flash memory, the structure of the interface circuit is complicated as compared to the NOR flash memory, but a relative degree of integration is high and the cost is low.
FIG. 1 is a block diagram of a semiconductor memory system 100 having a NAND flash memory. Referring to FIG. 1, the semiconductor memory system 100 includes a NAND flash memory 110, a NAND flash interface 120, a state machine 130, an error correction logic 140, a buffer memory 150, a storage block 160, and a host interface 170.
The storage block 160 stores a command CMD and/or an address ADDR received through the host interface 170. The storage block 160 may be an internal register of the semiconductor memory system 100. The buffer memory 150 buffers data DATA output from the NAND flash interface 120 to the host interface 170.
The state machine 130 controls data input and/or output between the NAND flash interface 120 and the buffer memory 150 based on the command CMD and the address ADDR output from the storage block 160. The state machine 130 outputs the data DATA to the error correction logic 140 based on the command CMD and the address ADDR. The error correction logic 140 performs error correction on the data DATA and outputs a result thereof to the state machine 130.
When the data DATA is read out from the NAND flash memory 110, the error correction logic 140 performs error correction on the data DATA in real time. However, as the bandwidth of a data bus receiving data increases, there is a limit to the amount of data that can be error corrected in real time.
Thus, there is a need for a semiconductor memory system for performing error correction on data in real time.